home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / mus / misc / P6102.lha / Player6.1A / Docs / Player61A.doc < prev    next >
Text File  |  1995-06-22  |  24KB  |  747 lines

  1. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  2. ­               The Player ® 6.1A 610.2 / 22.06.95        ­
  3. ­               Copyright © 1992-95 Jarno Paananen        ­
  4. ­                 Guru / Sahara Surfers            ­
  5. ­             A Sahara Surfers Product 1995            ­
  6. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  7.  
  8.  
  9.     Contents:
  10.         ­­­­­­­­­
  11.  
  12.     1. Foreword
  13.  
  14.     2. Distribution and copyrights
  15.  
  16.     3. Requirements
  17.  
  18.     4. Features
  19.  
  20.     5. P61con, the Converter
  21.         1. Converting Protracker-modules
  22.         2. Playing modules
  23.         3. Converting back to Protracker
  24.         4. Sample packer-selector
  25.         5. Preferences
  26.  
  27.     6. P61, the Player
  28.  
  29.     7. Using The Player in your own programs
  30.         1. Normal VBlank-version
  31.         2. Non-lev6-version
  32.         3. CIA-version with tempo
  33.         4. 68020-versions
  34.         5. Player61.i
  35.  
  36.     8. The Usecode-system
  37.  
  38.     9. Bugs?
  39.  
  40.     10. Hellos
  41.  
  42.     11. Contact address
  43.  
  44.  
  45.  
  46. 1. Foreword:
  47. ­­­­­­­­­­­­
  48.  
  49. This little utility was first started just for fun about two years ago and
  50. was meant just to my own use, but when I noticed that there weren't a GOOD
  51. Protracker-compatible replay available and after I saw a few tries to fix
  52. this (ProPacker, Prorunner, etc.) I decided to give other people a chance
  53. to play their Protracker-tunes FAST!
  54.  
  55. When designing the moduleformat, I also included packing and this 6.1
  56. packing method is the most efficient I've seen for this purpose.
  57.  
  58. Afterwards features like the two delta-formats have been introduced to keep
  59. this player on the edge of development.
  60.  
  61. I also made a converter to make it easier to use PT-modules.  It uses
  62. Reqtools and Powerpacker libraries (both by Nico François) so it can also
  63. load Powerpacked modules.  The converter is made as easy as possible to the
  64. user.
  65.  
  66.  
  67.  
  68. 2. Distribution and copyrights:
  69. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  70.  
  71.     This program and all other stuff coming in this package are
  72.                FULLY copyrighted by
  73.  
  74.                 Jarno Paananen / Guru of Sahara Surfers.
  75.         ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  76.  
  77. With the exception of Reqtools and Powerpacker libraries © by Nico François
  78. (You have made a big favour to all programmers on the Amiga!)
  79.  
  80. BUT!:
  81. ­­­­­
  82. You're allowed to make additions or modifications or what so ever to fit
  83. the playroutine to your own needs.  That's why the sources are here.  But,
  84. please: credits for the author and a copy to myself, if possible, so I can
  85. add your new features to the future releases!
  86.  
  87.  
  88. Contents of this package:
  89. ­­­­­­­­­­­­­­­­­­­­­­­­­
  90. P61Con                - The converter
  91. P61Con.info            - Da icon
  92. (P61                - The player)
  93. (P61.info            - Another icon)
  94. Player61A.guide            - Amigaguide format docs
  95. Player61A.guide.info        - More same stuff
  96. Player61A.doc            - ASCII format docs, this file
  97. Player61A.doc.info        - Do we have to take all these?
  98. Player61A.changes        - History of changes, bugfixes etc.
  99. 610.2.G                - The main thing, Replay source
  100. (610.2_devpac2.asm        - Same for DevPac2)
  101. 610.2_devpac3.asm        - And for DevPac3
  102. 610.2.bin            - Binary version
  103. CIA_Example.G            - An example of how to use the CIA-version
  104. Player61.i            - Include file
  105. Vibtab                - Vibrato table
  106. Periods                - Periodtable with finetunes
  107. Periods.nft            - Same with no finetunes
  108.  
  109. (  ) = Not included (= not up to date)
  110.  
  111. NOTE!: Devpac versions need that the default jump size is word!
  112. Everything without size declaration means a word!
  113.  
  114.  
  115. The normal disclaimer:
  116.  
  117. The author cannot be held liable for the suitability or accuracy of this
  118. manual and/or the program it describes.  Any damage directly or indirectly
  119. caused by the use or misuse of this manual and/or the program it describes
  120. is the sole responsibility of the user her/him self.
  121.  
  122.  
  123. A few words about distribution:
  124.  
  125. This program is freeware.  You can distribute it as long as _ALL_ files are
  126. included and not more than a nominal fee for copying is asked.  This program
  127. can _NOT_ be used for commercial purposes without written permission from
  128. the author and a contribution for development costs (like Coca-Cola :-).
  129. If you have suggestions or remarks about this program, or if you find any
  130. bugs, please let me know.
  131.  
  132. THIS MEANS: IF YOU ARE GOING TO USE THIS IN COMMERCIAL SOFTWARE YOU SHOULD
  133. AT LEAST ASK ME FIRST AND I WOULD BE GLAD TO RECEIVE SOMETHING AS A
  134. COMPENSATION FOR THE TROUBLE THIS THING HAS CAUSED ME, BECAUSE MAKING THIS
  135. HASN'T BEEN JUST FUN AND SUNSHINE... 
  136.  
  137. This was meant especially to software houses using this without my
  138. permission, like Team 17: Where the hell did you get that P41 you used in
  139. Super Frog from?!?  It was never released due to P50.  I just gave it to
  140. some friends for beta testing...  If you want to clear your conscience,
  141. contact me.
  142.  
  143. To everyone: If you're going to use this player in your commercial
  144. software, you should know, that the one released is never the newest version
  145. and is always somewhat cut down.  If you contact (and pay...) me, you get
  146. misc stuff like sound effect engines with it, if you want.  And tidy
  147. conscience...
  148.  
  149.  
  150. The black list (programs using The Player without my permission (nor
  151. money :) )
  152.  
  153. All are using the beta of P41A:
  154.  
  155. - Super Frog from Team 17 (see ya at Assembly'95...)
  156. - OverDrive from Team 17
  157. - Alien Breed II from Team 17
  158. - Action Pool from Team 17
  159. - Qwack from Team 17
  160. - Kick Off 3
  161. - Impossible Mission 2025 from MicroProse
  162.  
  163. At _least_.
  164.  
  165.  
  166. Thanks to these firms for contacting me before using The Player:
  167.  
  168. Bloodhouse - Stardust (Hi Everyone!)
  169.        - Super Stardust
  170. Core Design - Banshee (Hi Søren!)
  171.  
  172. Why is this list shorter?
  173.  
  174.  
  175.  
  176. 3. Requirements:
  177. ­­­­­­­­­­­­­­­­
  178.  
  179. - An Amiga computer (For PC look out for MIDAS)
  180. - Reqtools.library and Powerpacker.library
  181. - about 30 kB of memory for the converter, and if converting, 2 * (number
  182.   of patterns * 1024 + 1084) bytes for buffers
  183. - Works on 512kB machines, but more memory recommended, especially for
  184.   converting.
  185. - Kickstart 1.2 or greater.
  186. - Kickstart 2.0-style colors recommended (looks better)
  187.  
  188.  
  189.  
  190. 4. Features:
  191. ­­­­­­­­­­­­
  192.  
  193. - a very efficient method to pack the pattern data and play it VERY fast in
  194.   realtime
  195.  
  196. - cut-down header compared to the original one (4 bytes info, 6 bytes/sample,
  197.   8 bytes/pattern, 1 byte/position plus one byte for stopmark)
  198.  
  199. - removes all names, unused patterns, samples, data after loops, empty data
  200.   after unlooped samples, commands with no use and some smaller things
  201.  
  202. - Delta format samples!  Samples have the same quality, but packing
  203.   efficiency is better with for example Imploder or Powerpacker.  Look below
  204.   for some stats!
  205.  
  206. - 4-bit delta packing!  Packs samples in ratio 1:2 with very little loss of
  207.   quality.  Try it!
  208.  
  209. - nearly impossible to rip without finding the call to the init routine,
  210.   except if the optional `P61A`-sign is used
  211.  
  212. - works on every Amiga, tested under KS1.2-3.1, from WB or CLI/Shell,
  213.   detaches itself from CLI, supports WB icons, etc...
  214.  
  215. - loads files packed with Powerpacker, FImp or XPK (all references to
  216.   Powerpacked files also apply to FImp and XPK files)
  217.  
  218. Should support modules with 100 patterns (At least in PT2.x from Noxious)
  219. IF patterns are packed under 64kB in PASS 1... (pointers are only words)
  220.  
  221.  
  222. Commands implemented at the moment:
  223.   - NoiseTracker 2.0 commands (0-6,A-F)
  224.  
  225.   - Tremolo (7), Sample offset (9), Fine slides (E1/E2), Set finetune (E5),
  226.     Pattern loop (E6), Retrig note (E9), Fine volume slides (EA/EB),
  227.     Note cut (EC), Note delay (ED), Pattern delay (EE), Invert loop (EF)
  228.  
  229.   - finetune and tempo
  230.  
  231.   - NOTE!:Patternbreak (D) does NOT support break to a specified line,
  232.     linenumber is just ignored!  This is due to my packing system.
  233.  
  234.  
  235. Comparision to other players:
  236. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  237.  
  238. Some statistics:
  239. ­­­­­­­­­­­­­­­­
  240. Tunes:    1. ( alcoholic score )
  241.     2. enigma year bkh-nhp
  242.     3. knulla kuk !!!
  243.     4. menuloader
  244.     5. scrambled mind
  245.     6. tapiiri
  246.  
  247. Note that these are random tunes picked out from about 120Mb I
  248. have, and everyone should be able to test these results.
  249.  
  250.  
  251. Tune:            1    2    3    4    5    6
  252. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  253. Original:        121024    249550    160218    23390    163738    19664
  254. P61A:            88704    204588    120062    16644    130650    6878
  255. P60A:            90118    205984    121834    16992    131420    7306
  256. NoisePacker 3.0:    93576*    214148*    128940*    17588    132736    10278*
  257. NoisePacker 2.02:    104560*    227770*    138218*    18292    140614    14094*
  258. ProPacker 1.0:        108028    226326    147302    20414    148742    14480
  259. ProRunner 2.0:        98974    218588    132894    19338    143136    11978
  260. Promizer 4.1:        103608    224778    136710    19762    147114    11260
  261. TrackerPacker 3.0:    90992    209900    124434    17074    131578    9144
  262.  
  263.  
  264. * = lacks some features (finetune, commands etc.)
  265.  
  266. Obvious?
  267.  
  268.  
  269. Some notes concerning this:
  270. ­­­­­­­­­­­­­­­­­­­­­­­­­­­
  271. (After reading the docs of Prorunner 2.0 I thought that maybe I should also
  272. write some advertisement bullshit here, but I decided to stay in the
  273. facts...)
  274.  
  275. - P61A is the fastest replay of these...
  276. - Has the best packing as seen above...
  277. - 4- and 8-bit delta samples (the first one to have these)...
  278. - Fully system friendly if needed (allocates channels, CIA's etc.)...
  279. - Works on all Amigas (the first released one to check the VBR)...
  280. - Supports CIA-tempos (the first one with no processor waits)...
  281. - Fully PC-relative replay (released before Cosmos...)
  282. - Has the so-much-praised master volume control...
  283. - Usecode-system
  284. - User-friendly converter (unlike NP2.0, PP1.0 and PRU2.0)...
  285. - Versions for Asm-One, DevPac3 and DevPac2...
  286.  
  287.  
  288. Enough?  If you still want to use some of those other players, feel free...
  289.  
  290.  
  291. IF SOMEONE COULD SEND ME PROPACKER 2.x, PLEASE DO!
  292.  
  293.  
  294.  
  295. Delta vs. normal samples:
  296. ­­­­­­­­­­­­­­­­­­­­­­­­­
  297. Tune:  ((( the war )))  by Audiomonster / Melon Dezign
  298.  
  299. Original P61 tune:    260182
  300. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  301.         Normal    Delta    Diff.
  302. FImp:        184828    168650    16178
  303. PP:        184812    162612    22200
  304. xpkNUKE:    187340    166684    20656
  305. xpkSQSH:    148600    144124    4476
  306.  
  307. Make your own conclusions.
  308.  
  309.  
  310.  
  311. 5. P61con, the Converter:
  312. ­­­­­­­­­­­­­­­­­­­­­­­­­
  313.  
  314. Note!: Do _NOT_ merge hunks in this file, because it uses two SEPERATE code
  315. hunks for detaching.  If you do, it crashes straight away...
  316.  
  317. Shell usage: P61con [-q][filename]
  318.  
  319. -q    Be quiet.  The only way to stop playing is to give CTRL-C-signal to
  320.     the DETACHED piece of code.  Use TaskX or similar.
  321.  
  322. filename to play.  No checkings made, so be sure it IS a P61-module!
  323.  
  324. WB usage is normal.  Double clicking on a modules icon or click on module,
  325. shift and click on P61con to play it.
  326.  
  327.  
  328.  
  329.     1. Converting Protracker-modules:
  330.     ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  331.  
  332. First a normal Reqtools filerequster asks you to select one or more
  333. (supports batch-processing) modules.  If you select multiple modules, the
  334. directory for the modules to be saved is asked.  Then loading with the 
  335. Powerpacker library.  If you chose one module, the name and path for the
  336. save are asked.  As the packing starts, an info requester with some bars and
  337. statistics pops up.  If you are converting only one module and have sample
  338. packing on, sample packer-selector appears.  When the job is done, save and
  339. some statistics about the efficiency are shown.  If you have converted only
  340. one module, also the Usecode is here.
  341.  
  342.  
  343.  
  344.     2. Playing modules:
  345.     ­­­­­­­­­­­­­­­­­­­
  346.  
  347. First the converter asks for a module and then loads it using the
  348. Powerpacker library so it can also be packed with the Powerpacker :) DOES
  349. NOT SUPPORT FILES WITH SAMPLES IN OTHER FILE!  If it finds P61 from the
  350. memory, it informs it to play the module.  If not, a requester is shown with
  351. the name of the file and a stop gadget below.  The play routine is the
  352. system friendly tempo one, allocates channels with priority 127, a CIA-
  353. timer and returns if it couldn't get something.  Should work with every
  354. system friendly program.
  355.  
  356. To the guys at Triumph: I'd say this IS faster than yours and multitasks at
  357. least as well as your IntuiTracker 1.50 (I crashed it about x times...) and 
  358. works on <2.0 Kickstarts, too.  Anyway, this wasn't meant to be a kind of
  359. player like yours, but maybe one is coming (depends on effort and requests
  360. from outside).
  361.  
  362.  
  363.  
  364.     3. Converting back to Protracker:
  365.     ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  366.  
  367. This option is disabled to partly because I want to give people some
  368. peace from Perverter and alike ie. protect their modules from ripping.
  369. (I of course have my own version, which has this option implemented and
  370. enabled...)  So you have to make your own reconverter is you want to
  371. listen the modules in PT-format.
  372.  
  373. Usage is easy, just load P61A-module and save it as Protracker-module.  Be
  374. sure it IS a P61A-module, otherwise I can't quarantee the result...
  375.  
  376. Damn! The new ProWizard (version 2.16) supports P61A-format so 
  377. in this version this feature is enabled, in request of Nemesis1 (Hi!).
  378.  
  379.  
  380.  
  381.     4. Sample packer-selector:
  382.     ­­­­­­­­­­­­­­­­­­­­­­­­­­
  383.  
  384. When you have sample packing-option on, a requester appears when you
  385. convert only one module.  It is used to select which samples are to be
  386. packed with 4-bit delta packing and has the following functions:
  387.  
  388. Original    -Plays the original sample.  Stop with right mouse button!
  389. Packed        -Plays the sample after packing and depacking it.  This
  390.          sounds same as the final packed sample.  Stop with right
  391.          mouse button!
  392. Pack        -Marks the sample to be packed.
  393. Pack rest    -Marks this and the rest of the samples to be packed.
  394. Don't pack    -Marks the sample NOT to be packed.
  395. Don't pack rest    -Marks this and the rest of the samples NOT to be packed.
  396.  
  397. Use of keyboard shortcuts is highly recommended!
  398.  
  399.  
  400.  
  401.     5. Preferences:
  402.     ­­­­­­­­­­­­­­­
  403.  
  404. Default loading directory:    The directory converter first gives you,
  405.                 when you load Protracker modules.
  406.  
  407. Default saving directory:    The directory converter first gives you,
  408.                  when you save ONE P61 module.
  409.  
  410. Default batch directory:    The directory converter first gives you,
  411.                 when you save multiple P61 modules.
  412.  
  413. Prefices:            These are used to mask files in
  414.                 filerequesters and put to the beginning of
  415.                 the filename when saving.  Can be up to 7
  416.                 chars long.
  417.  
  418. Two files:            If you want samples and rest of the tune to
  419.                 be saved in separate files.
  420.  
  421. P61A sign:            If you want the P61A sign to be inserted in
  422.                 the beginning of the module.
  423.  
  424. No samples:            If you're converting multiple modules with
  425.                 same samples, this disables the saving of
  426.                 samples.
  427.  
  428. Tempo:                Whether the player should use tempo or not.
  429.  
  430. Icon:                If you want the icon to be saved with the
  431.                 module.
  432.  
  433. Delta:                If you want to use 8-bit delta samples.
  434.  
  435. Sample packing:            If you want to pack samples to 4-bit delta.
  436.  
  437.  
  438. 6. P61, the Player:
  439. ­­­­­­­­­­­­­­­­­­­
  440.  
  441. This program was under work (and still is...) for quite a lot time.  The
  442. idea came from Simply / Parallax, due to the fact that Multiplayer can't
  443. play P50-modules without GMOD-header and that makes modules about 6kb
  444. larger...  So I had to get working.  Two days before Assembly'93 I rewrote
  445. this program completely in a big hurry, so please forgive me those bugs 
  446. that _will_ appear.  Present program is basically the same, but plays
  447. P61-modules.
  448.  
  449. The interface is now quite neat, small is beautiful?  Under KS3.0 those
  450. proportional gadgets are quite nice.  Functions should be familiar to all
  451. who have used some player program (Multiplayer, Smartplay etc.).  The only
  452. special feature is that if you try to load a Protracker module and you
  453. have P61con in memory waiting in its mainmenu, P61 gives this module to it
  454. to be packed.  P61con saves it to the ram-disk and informs P61 to load it.
  455. After loading P61 deletes the module from the ram-disk.
  456.  
  457.  
  458.  
  459. 7. Using The Player in your own programs:
  460. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  461.  
  462. NOTE: The instructions for the binaryfile-versions expect you to have
  463. loaded the file to a label called "Player"
  464.  
  465. The versions are in the same file and these topics describe the various
  466. possible versions to compile the source.  Also the binary versions have
  467. their instructions here.
  468.  
  469. Completely PC-relative!
  470.  
  471.  
  472.  
  473.     1. Normal VBlank version:
  474.     ­­­­­­­­­­­­­­­­­­­­­­­­­
  475.  
  476. Options:
  477.     CIA = 0
  478.     system = 0
  479.     nonlev6 = 0
  480.     system = 0/1
  481.  
  482.     Exec = 1 if ExecBase is valid and 0 if not
  483.  
  484. This should be easy for all you who've used the ugly Protracker routine or
  485. one of the millions of others.
  486.  
  487. Call "P61_Init" with the address to the module in A0 and the address to the
  488. samples in A1 or if they are in the same file, clear A1.  If you have a
  489. module with samples packed, put address to the sample buffer in A2.  Uses
  490. all registers, so preserve them if you're going to use them afterwards.
  491.  
  492.  
  493. IF YOU ARE USING INVALID EXECBASE:
  494. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  495. Check the Base yourself and put it to P61_VBR or Player+P61_UseVBR.  You
  496. can also get the VBR there, if using valid ExecBase.
  497.  
  498.  
  499. TO CHECK IF MODULE HAS PACKED SAMPLES:
  500. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  501. Check bit 6 ($40) of the offset 3 from the beginning (excluding optional
  502. sign).  If it is set, the module has packed samples.  Size of the required
  503. buffer is then at offset 4.
  504.  
  505.  
  506. To play the music, call P61_Music every frame (with NTSCs who want to play
  507. the tune in PAL-speed or vice versa, use the CIA-version).
  508.  
  509. To end the music and turn the DMAs off, call P61_End.
  510.  
  511. With system option = 1, allocation of channels and lev6-timer are included.
  512. Returns non-zero in D0, if couldn't allocate something.
  513.  
  514. With the binary file, P61_Init is Player+P61_InitOffset, P61_Music is
  515. Player+P61_MusicOffset and P61_End is Player+P61_EndOffset.
  516.  
  517. The source can be compiled with at least Asm-One 1.09 by T.F.A.
  518. (the Best assembler around!).  A separate version for Devpac3 is also
  519. included.  This version should be easy to make work under any assembler
  520. with incbin command.
  521.  
  522. The maximum rastertime taken is under 6 lines on a normal 68000 Amiga.
  523. Fast?  Invert loop can take it beyond that, though.  Everything has its
  524. costs.
  525.  
  526.  
  527.  
  528.     2. Non-lev6 version:
  529.     ­­­­­­­­­­­­­­­­­­­­
  530.  
  531. Options:
  532.     CIA = 0
  533.     system = 0
  534.     nonlev6 = 1
  535.  
  536. This routine is basically the same as the lev6-version, but you have to
  537. call P61_Setloop about 7 raster lines after P61_Music.  This system is done
  538. to enable the use of those 7 lines.  So if have a routine, which fits to
  539. these 7 lines, do it while waiting...
  540.  
  541. This is not too much slower compared to the lev6-version, but I'd still
  542. advise you to use it if possible.  It makes your life a hell lot easier...
  543.  
  544.  
  545.  
  546.     3. CIA version with tempo:
  547.     ­­­­­­­­­­­­­­­­­­­­­­­­­­
  548.  
  549. Options:
  550.     CIA = 1
  551.     system = 0/1
  552.     nonlev6 = 0
  553.  
  554.     Exec = 1 if ExecBase is valid and 0 if not
  555.  
  556. The first tempoplayer I know, which uses only the lev6-int and does _NOT_
  557. use those fucking processor loops.  As fast as the normal lev6-version!
  558.  
  559. Otherwise normal init, but info for the setting of CIA is needed in D0:
  560. 0 - Autodetect, if PAL/NTSC, uses ExecBase->VBlankFrequency.
  561. 1 - Force PAL.  If you've destroyed the ExecBase, detect the timing
  562.     yourself and use these force modes.
  563. 2 - Force NTSC
  564.  
  565. No further actions needed.  Returns non-zero in D0, if it couldn't allocate
  566. something.  The player starts playing right away, so do _NOT_ call 
  567. P61_Music.
  568.  
  569. To end, call the normal P61_End.
  570.  
  571. To enable using of tempo, set P61_UseTempo to some non-zero value.
  572.  
  573. If system is set to 1, allocations for timer and channels are included.
  574. Use if possible.
  575.  
  576. NOTE: If you want to use this in your own program that needs synchronizing
  577. to the beam, do one of these:
  578.  
  579. 1. Do your routine in VBlank-interrupt.
  580. 2. Do your routine in copper interrupt.
  581. 3. If you do NOT have to wait for a specific line, wait for VBlank bit in
  582.    INTREQR ($1e) and clear it afterwards.
  583. 4. If you have to wait for some specified line, disable Copper-interrupt 
  584.    from INTENA ($9a), set Copper-interrupt bit in INTREQ ($9c) with Copper
  585.    at the specified line and wait for the bit in INTREQR ($1e) in our own
  586.    routine.  Clear it afterwards.
  587.  
  588. See the examples supplied.
  589.  
  590. Otherwise this WILL steal some frames from you time to time...
  591.  
  592.  
  593.  
  594.     4. 68020-versions:
  595.     ­­­­­­­­­­­­­­­­­­
  596.  
  597. Options:
  598.     opt020 = 1
  599.  
  600. These are a bit optimized versions for the 020+ machines.  The difference
  601. to the 000/010-versions is only a slight one and because those versions
  602. take only a half of a rasterline on a 25mhz A4000, I think these are nearly
  603. useless.  But if you really want to make a 020+ program or AGA-only stuff,
  604. this is for you...
  605.  
  606. Can be compiled at least with Asm-One 1.15 by T.F.A.
  607.  
  608. Interface is similar to the 000/010-versions.
  609.  
  610.  
  611.  
  612.     5. Player61.i:
  613.     ­­­­­­­­­­­­­­
  614.  
  615. This is the include file of all the structures needed, if you're going to
  616. compile the source.  Also if you are making some additions to this player
  617. (like quadrascopes, etc.  (these kind of things are maybe coming, I already
  618. have quite a bunch of 'em linked to this player)) you can look for the
  619. information there.  First I was going to release this only as a binary
  620. version, but after thinking a few more moments, I decided to make this
  621. include file and release the source, just to make supporting and developing
  622. of this product possible.
  623.  
  624.  
  625.  
  626. 8. The Usecode-system:
  627. ­­­­­­­­­­­­­­­­­­­­­­
  628.  
  629. This system was created for fun on a sunny afternoon.  I got a crazy idea
  630. of putting a code of which features a module needs to the beginning of the
  631. source and let conditional compiling take care of the rest.
  632.  
  633. The main idea is to reduce the lenght of this massive player to the real
  634. needs of the module.  So only the commands the module needs are saved to the
  635. player.  Also if the module doesn't use finetune, a smaller periodtable is
  636. used.  And finally if the module doesn't use vibrato or tremolo, the 512
  637. bytes long vibrato table is left out.
  638.  
  639. What you have to do is:
  640.  
  641. Take down the Usecode shown in the requester after the converter has packed
  642. your module (if only one module is being processed or from the filenote)
  643. and put this code to the beginning of the source into the place for it.
  644. Compile and you have a customised version for this module only.  Usecode -1
  645. leaves all features ie.  compiles the full version.
  646.  
  647. for example: 
  648.     use = $9f0f
  649.  
  650.  
  651.  
  652. 9. Bugs?:
  653. ­­­­­­­­­
  654.  
  655. Some of you might still remember (in horror...) the previous versions of
  656. this marvelous :) player.  Those 4.x-versions were all more or less beta-
  657. versions and that showed...  (previous versions weren't even released, thank
  658. god..)
  659.  
  660. This version has gone through quite a hell of beta-testing, by myself,
  661. my Good friends Janne Juhola (Simply/Parallax), Steffan Schumacher 
  662. (Metal/Parallax), Kari-Pekka Koljonen (Moonstone/Hippopotamus Design),
  663. AND ESPECIALLY Mikko Karvonen (Yolk/Parallax)!
  664.  
  665. Also thanks for reporting bugs / wanted features go to:
  666.  
  667. - Dr.Jekyll / Andromeda
  668. - Shayera / Spoon
  669.  
  670. And the rest I can't remember at the moment, sorry!
  671.  
  672.  
  673.  
  674. 10. Hellos:
  675. ­­­­­­­­­­­
  676.  
  677. A bit more hellos than in the converter to:
  678.  
  679. To all who make those nice multiformat-player-programs (Multiplayer,
  680. Smartplay, etc.): If you want some information about this format to be
  681. included in your program, or anything else, just let me know!
  682.  
  683. To Turbo and Marley of Infect (authors of Exotic ripper): You did it!  I
  684. just ask how?!?  You say it's deep search and it surely is.  Fab prog!
  685. The pattern format changed once again...  Some peace from Perverter and
  686. the like...
  687.  
  688. To Gryzor (author of ProWizard): Hi! So how did it feel to make support
  689. for P61? Well, now I can use the same program for all modules again, so at
  690. least something positive ;)  Great program anyway!
  691.  
  692.  
  693. And hellos especially to:
  694.  
  695. - Janne Oksanen / Stratos of Sahara Surfers -
  696. Nothing special to say, but hello.
  697.  
  698. - Petteri Kangaslampi / Alfred of Sahara Surfers -
  699. Thanks for help with the new format!  Hopefully MIDAS comes off great!
  700.  
  701. - Kari-Pekka Koljonen / Moonstone of Hippopotamus Design -
  702. Great sendings (when coming...).  Happy with this? HiP is Really Cool!
  703.  
  704. - John Hinge / Shayera of Spoon -
  705. Sorry for huge delay, but hopefully this gives some compensation...
  706.  
  707.  
  708. - All of you waiting for (e-)mail from me: please have patience...
  709.  
  710.  
  711.  
  712. 11. Contact address:
  713. ­­­­­­­­­­­­­­­­­­­­
  714.  
  715. I'm improving this utility for my own use (they made me release this!),
  716. but send me some $$$ (Finnish marks, please) or two disks with a return
  717. envelope WITH stamps (or International Response Coupon) and I'll send you
  718. the newest version (Mention which version you have, so I won't send the
  719. same version!)  IF THESE CONDITIONS ARE NOT MET, ABSOLUTELY NO REPLY IS
  720. GUARANTEED!
  721.  
  722.          Also for licences for commercial use!
  723.  
  724.     TO                        (NO swapping!)
  725.                    J.Paananen
  726.                   Puskalantie 6
  727.                 FIN-37120 Nokia
  728.                 Finland
  729.  
  730.           Or by phone: +358-31-3422147 / Jarno
  731.  
  732.               Or preferably via Internet:
  733.  
  734.               jpaana@kauhajoki.fi
  735.                  (Main account)
  736.  
  737.                    or
  738.  
  739.              jpaana@freenet.hut.fi
  740.                   (redirected)
  741.                  (fool-proof ;)
  742.  
  743. NOTICE!!!
  744.  
  745. Also my other account (Jarno_Paananen@sonata.fipnet.fi) died by the end
  746. of March, so use only one of these!
  747.